package com.moodbox.server.mood.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moodbox.server.mood.entity.Mood;
import org.springframework.web.multipart.MultipartFile;

public interface MoodService extends IService<Mood> {
    /**
     * 创建心情记录
     * @param userId 用户ID
     * @param textContent 文字内容
     * @param image 图片文件
     * @param audio 语音文件
     * @param emotionTag 情绪标签
     * @param emotionIntensity 情绪强度
     * @return 创建的心情记录
     */
    Mood createMood(
        String userId, 
        String textContent, 
        MultipartFile image, 
        MultipartFile audio,
        String emotionTag,
        Integer emotionIntensity
    );

    /**
     * 获取今日心情
     * @param userId 用户ID
     * @return 今日心情记录
     */
    Mood getTodayMood(String userId);

    /**
     * 获取历史心情列表
     * @param userId 用户ID
     * @param page 分页参数
     * @return 心情记录分页
     */
    Page<Mood> getMoodHistory(String userId, Page<Mood> page);

    /**
     * 删除心情记录
     * @param userId 用户ID
     * @param moodId 心情记录ID
     * @return 是否删除成功
     */
    boolean deleteMood(String userId, String moodId);

    /**
     * 获取周报
     * @param userId 用户ID
     * @return 周报内容
     */
    String getWeekReport(String userId);
} 